// Copyright     :  Copyright (C) 2018, Hisilicon Technologies Co. Ltd.
// File name     :  ts_secure_c_union_define.h
// Project line  :  Platform And Key Technologies Development
// Department    :  CAD Development Department
// Version       :  1.0
// Date          :  2013/3/10
// Description   :  The description of xxx project
// Others        :  Generated automatically by nManager V4.2
// ******************************************************************************

#ifndef __TS_SECURE_C_UNION_DEFINE_H__
#define __TS_SECURE_C_UNION_DEFINE_H__

/* Define the union U_SECURE0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_0            : 25  ; /* [31:7] */
        unsigned int    ts_aximon_soc_ns : 1  ; /* [6] */
        unsigned int    ts_aximon_bs_ns  : 1  ; /* [5] */
        unsigned int    ts_aximon_cpu_ns : 1  ; /* [4] */
        unsigned int    ts_fcm_local_ns  : 1  ; /* [3] */
        unsigned int    ts_timer64_ns    : 1  ; /* [2] */
        unsigned int    ts_wdog_ns       : 1  ; /* [1] */
        unsigned int    ts_sysctrl_ns    : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE0;

/* Define the union U_SECURE1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure1             : 27  ; /* [31:5] */
        unsigned int    dbgconnected_fcm    : 1  ; /* [4] */
        unsigned int    ts_awuser_ns        : 1  ; /* [3] */
        unsigned int    ts_aruser_ns        : 1  ; /* [2] */
        unsigned int    sc_aw_secure_enable : 1  ; /* [1] */
        unsigned int    sc_ar_secure_enable : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE1;

/* Define the union U_SECURE2 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_1        : 2  ; /* [31:30] */
        unsigned int    ts_bs_armid  : 6  ; /* [29:24] */
        unsigned int    rsv_2        : 2  ; /* [23:22] */
        unsigned int    ts_bs_awmid  : 6  ; /* [21:16] */
        unsigned int    rsv_3        : 2  ; /* [15:14] */
        unsigned int    ts_cpu_armid : 6  ; /* [13:8] */
        unsigned int    rsv_4        : 2  ; /* [7:6] */
        unsigned int    ts_cpu_awmid : 6  ; /* [5:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE2;

/* Define the union U_SECURE3 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure3 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE3;

/* Define the union U_SECURE4 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure4 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE4;

/* Define the union U_SECURE5 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure5 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE5;

/* Define the union U_SECURE6 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure6 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE6;

/* Define the union U_SECURE7 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure7 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE7;

/* Define the union U_SECURE8 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure8 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE8;

/* Define the union U_SECURE9 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure9 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE9;

/* Define the union U_SECURE10 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure10 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE10;

/* Define the union U_SECURE11 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure11 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE11;

/* Define the union U_SECURE12 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure12 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE12;

/* Define the union U_SECURE13 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure13 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE13;

/* Define the union U_SECURE14 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure14 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE14;

/* Define the union U_SECURE15 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure15 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE15;

/* Define the union U_SECURE16 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure16 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE16;

/* Define the union U_SECURE17 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure17 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE17;

/* Define the union U_SECURE18 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure18 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE18;

/* Define the union U_SECURE19 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure19 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE19;

/* Define the union U_SECURE20 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure20 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE20;

/* Define the union U_SECURE21 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure21 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE21;

/* Define the union U_SECURE22 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure22 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE22;

/* Define the union U_SECURE23 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure23 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE23;

/* Define the union U_SECURE24 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure24 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE24;

/* Define the union U_SECURE25 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure25 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE25;

/* Define the union U_SECURE26 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure26 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE26;

/* Define the union U_SECURE27 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure27 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE27;

/* Define the union U_SECURE28 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure28 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE28;

/* Define the union U_SECURE29 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure29 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE29;

/* Define the union U_SECURE30 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure30 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE30;

/* Define the union U_SECURE31 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure31 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE31;


//==============================================================================
/* Define the global struct */
typedef struct
{
    volatile U_SECURE0  SECURE0  ; /* 0 */
    volatile U_SECURE1  SECURE1  ; /* 4 */
    volatile U_SECURE2  SECURE2  ; /* 8 */
    volatile U_SECURE3  SECURE3  ; /* C */
    volatile U_SECURE4  SECURE4  ; /* 10 */
    volatile U_SECURE5  SECURE5  ; /* 14 */
    volatile U_SECURE6  SECURE6  ; /* 18 */
    volatile U_SECURE7  SECURE7  ; /* 1C */
    volatile U_SECURE8  SECURE8  ; /* 20 */
    volatile U_SECURE9  SECURE9  ; /* 24 */
    volatile U_SECURE10 SECURE10 ; /* 28 */
    volatile U_SECURE11 SECURE11 ; /* 2C */
    volatile U_SECURE12 SECURE12 ; /* 30 */
    volatile U_SECURE13 SECURE13 ; /* 34 */
    volatile U_SECURE14 SECURE14 ; /* 38 */
    volatile U_SECURE15 SECURE15 ; /* 3C */
    volatile U_SECURE16 SECURE16 ; /* 40 */
    volatile U_SECURE17 SECURE17 ; /* 44 */
    volatile U_SECURE18 SECURE18 ; /* 48 */
    volatile U_SECURE19 SECURE19 ; /* 4C */
    volatile U_SECURE20 SECURE20 ; /* 50 */
    volatile U_SECURE21 SECURE21 ; /* 54 */
    volatile U_SECURE22 SECURE22 ; /* 58 */
    volatile U_SECURE23 SECURE23 ; /* 5C */
    volatile U_SECURE24 SECURE24 ; /* 60 */
    volatile U_SECURE25 SECURE25 ; /* 64 */
    volatile U_SECURE26 SECURE26 ; /* 68 */
    volatile U_SECURE27 SECURE27 ; /* 6C */
    volatile U_SECURE28 SECURE28 ; /* 70 */
    volatile U_SECURE29 SECURE29 ; /* 74 */
    volatile U_SECURE30 SECURE30 ; /* 78 */
    volatile U_SECURE31 SECURE31 ; /* 7C */

} S_ts_secure_REGS_TYPE;

/* Declare the struct pointor of the module ts_secure */
extern volatile S_ts_secure_REGS_TYPE *gopts_secureAllReg;

/* Declare the functions that set the member value */
int iSetSECURE0_ts_aximon_soc_ns(unsigned int uts_aximon_soc_ns);
int iSetSECURE0_ts_aximon_bs_ns(unsigned int uts_aximon_bs_ns);
int iSetSECURE0_ts_aximon_cpu_ns(unsigned int uts_aximon_cpu_ns);
int iSetSECURE0_ts_fcm_local_ns(unsigned int uts_fcm_local_ns);
int iSetSECURE0_ts_timer64_ns(unsigned int uts_timer64_ns);
int iSetSECURE0_ts_wdog_ns(unsigned int uts_wdog_ns);
int iSetSECURE0_ts_sysctrl_ns(unsigned int uts_sysctrl_ns);
int iSetSECURE1_secure1(unsigned int usecure1);
int iSetSECURE1_dbgconnected_fcm(unsigned int udbgconnected_fcm);
int iSetSECURE1_ts_awuser_ns(unsigned int uts_awuser_ns);
int iSetSECURE1_ts_aruser_ns(unsigned int uts_aruser_ns);
int iSetSECURE1_sc_aw_secure_enable(unsigned int usc_aw_secure_enable);
int iSetSECURE1_sc_ar_secure_enable(unsigned int usc_ar_secure_enable);
int iSetSECURE2_ts_bs_armid(unsigned int uts_bs_armid);
int iSetSECURE2_ts_bs_awmid(unsigned int uts_bs_awmid);
int iSetSECURE2_ts_cpu_armid(unsigned int uts_cpu_armid);
int iSetSECURE2_ts_cpu_awmid(unsigned int uts_cpu_awmid);
int iSetSECURE3_secure3(unsigned int usecure3);
int iSetSECURE4_secure4(unsigned int usecure4);
int iSetSECURE5_secure5(unsigned int usecure5);
int iSetSECURE6_secure6(unsigned int usecure6);
int iSetSECURE7_secure7(unsigned int usecure7);
int iSetSECURE8_secure8(unsigned int usecure8);
int iSetSECURE9_secure9(unsigned int usecure9);
int iSetSECURE10_secure10(unsigned int usecure10);
int iSetSECURE11_secure11(unsigned int usecure11);
int iSetSECURE12_secure12(unsigned int usecure12);
int iSetSECURE13_secure13(unsigned int usecure13);
int iSetSECURE14_secure14(unsigned int usecure14);
int iSetSECURE15_secure15(unsigned int usecure15);
int iSetSECURE16_secure16(unsigned int usecure16);
int iSetSECURE17_secure17(unsigned int usecure17);
int iSetSECURE18_secure18(unsigned int usecure18);
int iSetSECURE19_secure19(unsigned int usecure19);
int iSetSECURE20_secure20(unsigned int usecure20);
int iSetSECURE21_secure21(unsigned int usecure21);
int iSetSECURE22_secure22(unsigned int usecure22);
int iSetSECURE23_secure23(unsigned int usecure23);
int iSetSECURE24_secure24(unsigned int usecure24);
int iSetSECURE25_secure25(unsigned int usecure25);
int iSetSECURE26_secure26(unsigned int usecure26);
int iSetSECURE27_secure27(unsigned int usecure27);
int iSetSECURE28_secure28(unsigned int usecure28);
int iSetSECURE29_secure29(unsigned int usecure29);
int iSetSECURE30_secure30(unsigned int usecure30);
int iSetSECURE31_secure31(unsigned int usecure31);

#endif // __TS_SECURE_C_UNION_DEFINE_H__
